A hybrid memory module refers to a memory module that contains both a volatile memory (e.g., a dynamic random-access memory (DRAM)) and a non-volatile memory (e.g., a flash memory) as a primary data storage device. An example of the hybrid memory module is a hybrid dual in-line memory module (DIMM) integrating a DRAM and a flash memory. In a typical configuration, the DRAM can be used as a cache memory for the data stored in the flash memory. To achieve a fast access to the DRAM cache, the metadata of the DRAM cache can be stored in a static random-access memory (SRAM) of the hybrid memory module.
However, the required storage size for the metadata of the DRAM cache may be bigger than the available size of the SRAM. The storage capacity of the SRAM integrated in the hybrid DIMM may be kept relatively small due to its cost. Due to the limited storage size of the SRAM, the entire metadata for the DRAM cache may not fit in the SRAM, and resultantly the remaining portion of the metadata that does not fit in the SRAM must be stored in the DRAM. In this case, the slow access speed to the metadata stored in the DRAM may result in a performance drop when accessing data.
To remedy this issue, several approaches have been proposed. A first approach is to reduce the size of the metadata stored in the SRAM. For example, the size of the metadata may be reduced by reducing a number of cache lines stored in the SRAM. In this case, the size of each cache line is increased. The reduced size of the cache lines may negatively impact hit rates and require reading multiple pages from the flash memory in cases of a cache miss. In another example, cache associativity may be reduced by reducing tag bits and replacement bits, but this approach may also negatively impact hit rates. In yet another example, a replacement policy may be implemented as so not to require replacement bits.
However, test results show that the combination of these effects for reducing the metadata size can achieve reduction of only a fraction the required metadata size. Therefore, the issue of limited size of the SRAM for storing the metadata may still persist as the data storage capacity of the flash memory and the size of the DRAM cache increase.